# -*- ecoding: utf-8 -*-
# @Author: Wick
# @Time: 2024-02-24 17:17

def demo1(num, *args, **kwargs):
    print(num)
    print(args)
    print(kwargs)

def demo(num, *args, **kwargs):
    """
    :param num:
    :param args: 用来吃掉所有的位置参数
    :param kwargs: 用来吃掉所有的keyword参数
    :return:
    """
    demo1(num, *args, **kwargs)  # 拆包只会在函数调用时使用

demo(1, 2, 3, 4, 5, name="小明", age=18, gender=True)

# 缺省参数字母去使用，是因为我们知道元组，字典，在函数内会做对应的处理
def sum_numbers(*args):  # args就是缺省参数
    num = 0
    # 遍历 args 元组顺序求和
    for n in args:
        num += n
    return num
print(sum_numbers(1, 2, 3))